Towards a Formal Semantics-Based Technique for Interprocedural Slicing
نویسندگان
چکیده
Interprocedural slicing is a technique applied on programs with procedures which relies on how the information is passed at procedure call/return sites. Such a technique computes program slices (i.e. program fragments restricted w.r.t. a given criterion). The existing approaches to interprocedural slicing exploit the particularities of the underlying language semantics in order to compute program slices. In this paper we propose a generic technique for interprocedural slicing. More specifically, our approach works with inferred particularities of a language semantics, given as a rewriting-logic specification, and computes program slices using a term slicing-based algorithm.
منابع مشابه
A Generic Program Slicing Technique Based on Language Definitions
A formal executable semantics of a programming language has the necessary information to develop program debugging and reasoning techniques. In this paper we choose such a particular technique called program slicing and we introduce a generic algorithm which extracts a set of side-effects inducing constructs, directly from the formal executable semantics of a programming language. These constru...
متن کاملReuse-Driven Interprocedural Slicing in the Presence of Pointers and Recursion
Program slicing, a technique to compute the subset of program statements that can affect the value of a program variable at a specific program point, is widely used in tools to support maintenance activities. To be useful for supporting these activities, a slicing technique must be sufficiently precise and efficient. Harrold and Ci propose a method for improving the efficiency of slicing by reu...
متن کاملSystem - Dependence - Graph - Based Slicing of Programs
Many algorithms for automating software engineering tasks require program slices. To be applicable to large software systems, these slices must be computed in-terprocedurally. Slicing techniques based on the system dependence graph (SDG) provide one approach for computing interprocedural slices, but these techniques are deened only for programs in which called procedures necessarily return to c...
متن کاملBacking up Slicing: Verifying the Interprocedural Two-Phase Horwitz-Reps-Binkley Slicer
Slicing is a widely-used technique with applications in e.g. compiler technology and software security. Thus verification of algorithms in these areas is often based on the correctness of slicing, which should ideally be proven independent of concrete programming languages and with the help of well-known verifying techniques such as proof assistants. After verifying static intraprocedural and d...
متن کاملAbstract Program Slicing: From Theory towards an Implementation
Program Slicing: From Theory towards an Implementation Isabella Mastroeni and Ðurica Nikolić Dipartimento di Informatica, Università di Verona, Italy [email protected], [email protected] Abstract. In this paper we extend the formal framework proposed by Binkley et al. for representing and comparing forms of program slicing. This framework describes many well-known forms of slic...
متن کامل